Redo patch in efae64b (Set vertical/horizontal class...)
authorCarlos Garnacho <carlosg@gnome.org>
Wed, 12 Jan 2011 21:55:55 +0000 (22:55 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Wed, 12 Jan 2011 21:58:41 +0000 (22:58 +0100)
Add a _gtk_orientable_set_style_classes() function so all
orientation changes to style happen in a single place.

gtk/gtkcellareabox.c
gtk/gtkcellview.c
gtk/gtkgrid.c
gtk/gtkorientable.c
gtk/gtkorientable.h
gtk/gtkprogressbar.c
gtk/gtkseparator.c
gtk/gtktoolpalette.c

index ea3a3c8a8d24db2f917d623b822e2fca6bada8a5..3779fba923f78734a65e2f28d18ae51b1faebe11 100644 (file)
@@ -1049,25 +1049,6 @@ gtk_cell_area_box_dispose (GObject *object)
   G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->dispose (object);
 }
 
-static void
-reset_orientation_style (GtkCellAreaBox *box)
-{
-  GtkStyleContext *context;
-
-  context = gtk_widget_get_style_context (GTK_WIDGET (box));
-
-  if (box->priv->orientation == GTK_ORIENTATION_VERTICAL)
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-    }
-  else
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
-    }
-}
-
 static void
 gtk_cell_area_box_set_property (GObject       *object,
                                 guint          prop_id,
@@ -1083,7 +1064,6 @@ gtk_cell_area_box_set_property (GObject       *object,
 
       /* Notify that size needs to be requested again */
       reset_contexts (box);
-      reset_orientation_style (box);
 
       break;
     case PROP_SPACING:
index 87c56ed8bcdaf51a6054da5532e2cdfc8f8a1224..e47d5eac71a949bf44a8c6b78b45ab79feac5c62 100644 (file)
@@ -414,25 +414,6 @@ gtk_cell_view_get_property (GObject    *object,
     }
 }
 
-static void
-reset_orientation_style (GtkCellView *view)
-{
-  GtkStyleContext *context;
-
-  context = gtk_widget_get_style_context (GTK_WIDGET (view));
-
-  if (view->priv->orientation == GTK_ORIENTATION_VERTICAL)
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-    }
-  else
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
-    }
-}
-
 static void
 gtk_cell_view_set_property (GObject      *object,
                             guint         param_id,
@@ -450,7 +431,7 @@ gtk_cell_view_set_property (GObject      *object,
       if (view->priv->context)
        gtk_cell_area_context_reset (view->priv->context);
 
-      reset_orientation_style (view);
+      _gtk_orientable_set_style_classes (GTK_ORIENTABLE (object));
       break;
     case PROP_BACKGROUND:
       {
index 525f970df69d93952c323787d6670bd448f6d1fe..9e1498d3e278c991fdb47abed3aec6716b657fe6 100644 (file)
@@ -187,23 +187,11 @@ gtk_grid_set_orientation (GtkGrid        *grid,
                           GtkOrientation  orientation)
 {
   GtkGridPrivate *priv = grid->priv;
-  GtkStyleContext *context;
 
   if (priv->orientation != orientation)
     {
       priv->orientation = orientation;
-      context = gtk_widget_get_style_context (GTK_WIDGET (grid));
-
-      if (grid->priv->orientation == GTK_ORIENTATION_VERTICAL)
-        {
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
-          gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-        }
-      else
-        {
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-          gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
-        }
+      _gtk_orientable_set_style_classes (GTK_ORIENTABLE (grid));
 
       g_object_notify (G_OBJECT (grid), "orientation");
     }
index d3627252fb416c3a39c3b6dee6a529727a8c9eef..81fcf6c384602e3e3469892ff9d60d95c3ddfb16 100644 (file)
@@ -80,8 +80,6 @@ void
 gtk_orientable_set_orientation (GtkOrientable  *orientable,
                                 GtkOrientation  orientation)
 {
-  GtkStyleContext *context;
-
   g_return_if_fail (GTK_IS_ORIENTABLE (orientable));
 
   g_object_set (orientable,
@@ -89,20 +87,7 @@ gtk_orientable_set_orientation (GtkOrientable  *orientable,
                 NULL);
 
   if (GTK_IS_WIDGET (orientable))
-    {
-      context = gtk_widget_get_style_context (GTK_WIDGET (orientable));
-
-      if (orientation == GTK_ORIENTATION_HORIZONTAL)
-        {
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-          gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
-        }
-      else
-        {
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
-          gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-        }
-    }
+    _gtk_orientable_set_style_classes (orientable);
 }
 
 /**
@@ -129,3 +114,27 @@ gtk_orientable_get_orientation (GtkOrientable *orientable)
 
   return orientation;
 }
+
+void
+_gtk_orientable_set_style_classes (GtkOrientable *orientable)
+{
+  GtkStyleContext *context;
+  GtkOrientation orientation;
+
+  g_return_if_fail (GTK_IS_ORIENTABLE (orientable));
+  g_return_if_fail (GTK_IS_WIDGET (orientable));
+
+  context = gtk_widget_get_style_context (GTK_WIDGET (orientable));
+  orientation = gtk_orientable_get_orientation (orientable);
+
+  if (orientation == GTK_ORIENTATION_HORIZONTAL)
+    {
+      gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
+      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
+    }
+  else
+    {
+      gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
+      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
+    }
+}
index fa2c85bf086d3fbdefa7a15d43ea3862ae489472..63ca6e5cd55fc5cf5b7637ae84263715acf80168 100644 (file)
@@ -55,6 +55,9 @@ void           gtk_orientable_set_orientation (GtkOrientable  *orientable,
                                                GtkOrientation  orientation);
 GtkOrientation gtk_orientable_get_orientation (GtkOrientable  *orientable);
 
+/* Private */
+void           _gtk_orientable_set_style_classes (GtkOrientable *orientable);
+
 G_END_DECLS
 
 #endif /* __GTK_ORIENTABLE_H__ */
index 9c8fd92e703c59f29159faaedb77e13c3160911c..821cd8c6485d277545c23325790377771bd156ae 100644 (file)
@@ -1204,23 +1204,11 @@ gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
                                   GtkOrientation  orientation)
 {
   GtkProgressBarPrivate *priv = pbar->priv;
-  GtkStyleContext *context;
 
   if (priv->orientation != orientation)
     {
       priv->orientation = orientation;
-      context = gtk_widget_get_style_context (GTK_WIDGET (pbar));
-
-      if (pbar->priv->orientation == GTK_ORIENTATION_VERTICAL)
-        {
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
-          gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-        }
-      else
-        {
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-          gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
-        }
+      _gtk_orientable_set_style_classes (GTK_ORIENTABLE (pbar));
 
       if (gtk_widget_is_drawable (GTK_WIDGET (pbar)))
         gtk_widget_queue_resize (GTK_WIDGET (pbar));
index b30292fc5019c9de6dcfe945371665a60ae3c361..b48535f7ac5acb584399575a090dfedbdacf5bb1 100644 (file)
@@ -112,25 +112,6 @@ gtk_separator_init (GtkSeparator *separator)
   private->orientation = GTK_ORIENTATION_HORIZONTAL;
 }
 
-static void
-reset_orientation_style (GtkSeparator *separator)
-{
-  GtkStyleContext *context;
-
-  context = gtk_widget_get_style_context (GTK_WIDGET (separator));
-
-  if (separator->priv->orientation == GTK_ORIENTATION_VERTICAL)
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-    }
-  else
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
-    }
-}
-
 static void
 gtk_separator_set_property (GObject      *object,
                             guint         prop_id,
@@ -144,7 +125,7 @@ gtk_separator_set_property (GObject      *object,
     {
     case PROP_ORIENTATION:
       private->orientation = g_value_get_enum (value);
-      reset_orientation_style (separator);
+      _gtk_orientable_set_style_classes (GTK_ORIENTABLE (object));
       gtk_widget_queue_resize (GTK_WIDGET (object));
       break;
     default:
index 491cf9e9afef858e0f6bc72df5a6483540596988..ed3aed282db9cf40817770cd6efa01a7d04cb834 100644 (file)
@@ -233,25 +233,6 @@ gtk_tool_palette_reconfigured (GtkToolPalette *palette)
   gtk_widget_queue_resize_no_redraw (GTK_WIDGET (palette));
 }
 
-static void
-reset_orientation_style (GtkToolPalette *palette)
-{
-  GtkStyleContext *context;
-
-  context = gtk_widget_get_style_context (GTK_WIDGET (palette));
-
-  if (palette->priv->orientation == GTK_ORIENTATION_VERTICAL)
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-    }
-  else
-    {
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL);
-      gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL);
-    }
-}
-
 static void
 gtk_tool_palette_set_property (GObject      *object,
                                guint         prop_id,
@@ -282,7 +263,7 @@ gtk_tool_palette_set_property (GObject      *object,
         if ((guint) g_value_get_enum (value) != palette->priv->orientation)
           {
             palette->priv->orientation = g_value_get_enum (value);
-            reset_orientation_style (palette);
+            _gtk_orientable_set_style_classes (GTK_ORIENTABLE (palette));
             gtk_tool_palette_reconfigured (palette);
           }
         break;